HEX
Server: LiteSpeed
System: Linux eticaretsrv4.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: sioberen (1086)
PHP: 7.3.33
Disabled: NONE
Upload Files
File: //opt/cloudlinux/venv/lib/python3.11/site-packages/dill/tests/test_registered.py
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Copyright (c) 2022-2023 The Uncertainty Quantification Foundation.
# License: 3-clause BSD.  The full license text is available at:
#  - https://github.com/uqfoundation/dill/blob/master/LICENSE
"""
test pickling registered objects
"""

import dill
from dill._objects import failures, registered, succeeds
import warnings
warnings.filterwarnings('ignore')

def check(d, ok=True):
    res = []
    for k,v in d.items():
        try:
            z = dill.copy(v)
            if ok: res.append(k)
        except:
            if not ok: res.append(k)
    return res

fails = check(failures)
try:
    assert not bool(fails)
except AssertionError as e:
    print("FAILS: %s" % fails)
    raise e from None

register = check(registered, ok=False)
try:
    assert not bool(register)
except AssertionError as e:
    print("REGISTER: %s" % register)
    raise e from None

success = check(succeeds, ok=False)
try:
    assert not bool(success)
except AssertionError as e:
    print("SUCCESS: %s" % success)
    raise e from None

import builtins
import types
q = dill._dill._reverse_typemap
p = {k:v for k,v in q.items() if k not in vars(builtins) and k not in vars(types)}

diff = set(p.keys()).difference(registered.keys())
try:
    assert not bool(diff)
except AssertionError as e:
    print("DIFF: %s" % diff)
    raise e from None

miss = set(registered.keys()).difference(p.keys())
try:
    assert not bool(miss)
except AssertionError as e:
    print("MISS: %s" % miss)
    raise e from None